package dados.funcionario;

import negocio.funcionario.Funcionario;

public class CadastroDeFuncionario {
	
	private Funcionario [] listaDeFuncionario;
	private int indice;
	private static final int tamanhoLista = 100;
	
	public CadastroDeFuncionario (){
		this.indice = 0;
		this.listaDeFuncionario = new Funcionario[tamanhoLista];
	}
	
	public void adicionarFuncionario(Funcionario funcionario){
		this.listaDeFuncionario[this.indice] = funcionario;
		this.indice +=1;
	}
	
	public int procurarPosicao(String login){
		int i = 0;
		int posicao = -1;
		boolean achou = false;
		
				while(i<this.indice && !achou){
					if (this.listaDeFuncionario[i].getLogin().equals(login)){
						posicao = i;
						achou = true;
					}
					
					i+=1;
				}
			return posicao;
	}
	
	public boolean existeFuncionario(String login){
		
		boolean existe = false;
		int posicao = this.procurarPosicao(login);
		
		if(posicao != -1){
			existe = true;
			
		}
		return existe;
	}
	
	public void excluirFuncionario(String login){
		if(this.existeFuncionario(login)){
			int posicao = this.procurarPosicao(login);
			this.listaDeFuncionario[posicao] = this.listaDeFuncionario[this.indice-1];
			this.listaDeFuncionario[indice -1] = null;
			this.indice -= 1;
		}
	}
	
	public Funcionario recuperarFuncionario(String login){
		int posicao = -1;
		if(this.existeFuncionario(login)){
			 posicao = this.procurarPosicao(login);
		}
		
		return this.listaDeFuncionario[posicao];
	}
}
